package com.hui.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hui.entity.dao.StoreProductRelation;
import com.hui.entity.vo.StoreProductRelationQueryVo;
import com.hui.util.ResponseResult;

import java.util.List;

/**
 * 商品点赞和收藏表(StoreProductRelation)表服务接口
 *
 * @author hui
 * @since 2022-07-17 15:20:45
 */
public interface StoreProductRelationService extends IService<StoreProductRelation> {
    /**
     * 判断是否用户收藏该商品
     *
     * @param productId 商品ID
     * @param uid       用户ID
     * @return
     */
    Boolean isProductRelation(long productId, long uid);

    /**
     * 收藏该商品
     *
     * @param productId 商品ID
     * @param uid       用户ID
     * @param category  收藏关键字 类型(收藏(collect）、点赞(like))
     * @return
     */
    ResponseResult addRroductRelation(Long productId, Long uid, String category);

    /**
     * 取消收藏该商品
     *
     * @param productId 商品ID
     * @param uid       用户ID
     * @param category  收藏关键字 类型(收藏(collect）、点赞(like))
     * @return
     */
    ResponseResult delRroductRelation(Long productId, Long uid, String category);

    /**
     * 获取收藏列表 或 足迹列表
     *
     * @param page  页码,默认为1
     * @param limit 页大小,默认为10
     * @param uid   用户ID
     * @param type  foot为足迹,collect为收藏
     * @return
     */
    List<StoreProductRelationQueryVo> userCollectProduct(Integer page, Integer limit, Long uid, String type);
}

